Non-linear editing (NLE) systems allow users to acquire video, graphics, and audio “clips,” to manipulate them spatially and temporally, and to assemble them into a composite multimedia stream and/or file of data. This flexibility inherent in NLEs allows editors to create much of the content seen in theaters, on television, and on the Internet. Such editors can make complex edited sequences involving multiple layers with effects, such as fast and reverse motion video. However, such sequences can be especially demanding on the disk subsystem. Further, the disk subsystem demand is compounded by the use of High Definition (HD) video and multiple NLEs used in a networked environment.
Referring now to FIG. 1, a conventional picture-in-picture (PiP) timeline example as edited within a non-linear editor (NLE) is shown and indicated by the general reference character 100. A “timeline” is a spatial and temporal arrangement of video, audio, and/or graphics using an NLE. In the PiP effect view to the left of FIG. 1, a spatial arrangement of two video layers, V1 and V2, is shown. In the timeline view to the right of FIG. 1, each video layer is shown in a temporal arrangement as having two video “clips” or files ordered sequentially. A typical NLE allows the user to apply both spatial as well as temporal (e.g., motion) effects to each clip individually in the timeline. In this particular example, V1 is scaled to create the PiP effect. Also in this example, a reverse motion effect is applied to Clip A and a freeze frame effect is applied to Clip D. Editing of this sort can continue with multiple layers of any duration, including audio and graphics type clips.
While a timeline is being edited, the NLE may allow the video composition to be visualized or played back. Accordingly, the NLE typically must read video frames from the local disk array or storage area network (SAN) into a specialized hardware device's memory for further effects processing and/or outputting to external devices, such as a video monitor or tape deck.
Referring now to FIG. 2, a conventional timeline and frame access example for the PiP example of FIG. 1 is shown and indicated by the general reference character 200. In typical clip accessing from a disk, each frame is read as requested, consistent with the timeline, as requested by the NLE. Clip A's reverse motion can result in frame accesses: Read A-3, Read A-2, Read A-1, and Read A-0. Also, Clip B's forward motion can result in frame accesses: Read B-0, Read B-1, Read B-2, and Read B-3, and Clip C's forward motion can result in frame accesses: Read C-0, Read C-1, Read C-2, and Read C-3. Clip D's freeze frame can result in one frame access, Read D-0. Such excessive read patterns from a disk subsystem are not optimized.
It would be desirable to optimize the reads from a disk so that additional layers of video, audio, and graphics can be sent to the effects processing system for improved editing capabilities. Further, more NLE stations in a networked system can function on a SAN when disk throughput is configured optimally, thus increasing user productivity and decreasing overall system costs.